@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
  :root {
    --background: 0 0% 3%;
    --foreground: 210 40% 98%;

    --card: 0 0% 6%;
    --card-foreground: 210 40% 98%;

    --popover: 0 0% 6%;
    --popover-foreground: 210 40% 98%;

    --primary: 252 100% 70%;
    --primary-foreground: 0 0% 100%;

    --secondary: 180 100% 50%;
    --secondary-foreground: 0 0% 100%;

    --muted: 217.2 32.6% 17.5%;
    --muted-foreground: 215 20.2% 65.1%;

    --accent: 120 100% 50%;
    --accent-foreground: 0 0% 100%;

    --destructive: 0 62.8% 50.6%;
    --destructive-foreground: 210 40% 98%;

    --border: 217.2 32.6% 17.5%;
    --input: 217.2 32.6% 17.5%;
    --ring: 212.7 26.8% 83.9%;

    --radius: 0.5rem;
  }
}

@layer base {
  * {
    @apply border-border;
  }
  body {
    @apply bg-background text-foreground;
    font-feature-settings: "rlig" 1, "calt" 1;
  }
}

.neon-text {
  @apply animate-glow;
}

.neon-border {
  @apply border-2 animate-glow;
}

.maze-wall {
  @apply bg-black border border-opacity-50;
  box-shadow: 0 0 8px var(--wall-color, theme('colors.neon.blue')), 
              0 0 12px var(--wall-color, theme('colors.neon.blue'));
}

.maze-path {
  @apply bg-background;
}

.maze-start {
  @apply bg-neon-green bg-opacity-30;
  box-shadow: 0 0 10px theme('colors.neon.green'), 
              0 0 15px theme('colors.neon.green');
}

.maze-end {
  @apply bg-neon-pink bg-opacity-30;
  box-shadow: 0 0 10px theme('colors.neon.pink'), 
              0 0 15px theme('colors.neon.pink');
}

.maze-player {
  @apply bg-neon-yellow rounded-full animate-pulse;
  box-shadow: 0 0 10px theme('colors.neon.yellow'), 
              0 0 15px theme('colors.neon.yellow');
}

.maze-breadcrumb {
  @apply bg-neon-purple bg-opacity-20;
  box-shadow: 0 0 5px theme('colors.neon.purple');
}